﻿using Abp.Application.Services.Dto;
using Abp.Domain.Entities;
using HCD.Entities;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;

namespace HCD.Hcd.Dtos
{
    public class HcdMasterDto : EntityDto<long>
    {
        /// <summary>
        /// 病人标识
        /// </summary>
        public string PatientId { get; set; }

        /// <summary>
        /// 就诊标识
        /// </summary>
        public string VisitId { get; set; }

        /// <summary>
        /// 病人姓名
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 性别
        /// </summary>
        public string Sex { get; set; }

        /// <summary>
        /// 出生日期
        /// </summary>
        public DateTime DateOfBirth { get; set; }

        /// <summary>
        /// 费别
        /// </summary>
        public string ChargeType { get; set; }

        /// <summary>
        /// 就诊科室代码
        /// </summary>
        public string DeptCode { get; set; }

        /// <summary>
        /// 就诊科室名称
        /// </summary>
        public string DeptName { get; set; }

        /// <summary>
        /// 当前床号
        /// </summary>
        public string BedNo { get; set; }

        /// <summary>
        /// 当前床标号
        /// </summary>
        public string BedLabel { get; set; }

        /// <summary>
        /// 主要诊断
        /// </summary>
        public string Diagnosis { get; set; }

        /// <summary>
        /// 病情状态
        /// </summary>
        public string PatientCondition { get; set; }

        /// <summary>
        /// 就诊状态
        /// </summary>
        public string VisitStatus { get; set; }

        /// <summary>
        /// 出院/转出方式
        /// </summary>
        public string DischargeType { get; set; }

        /// <summary>
        /// 管床/接诊医生id
        /// </summary>
        public string DoctorInCharge { get; set; }

        /// <summary>
        /// 就诊日期及时间
        /// </summary>
        public DateTime AdmissionDateTime { get; set; }

        /// <summary>
        /// 结束就诊日期及时间
        /// </summary>
        public DateTime DischargeDateTime { get; set; }

        /// <summary>
        /// 家庭地址
        /// </summary>
        public string MailingAddress { get; set; }

        /// <summary>
        /// 电话号码
        /// </summary>
        public string PhoneNumber { get; set; }

        /// <summary>
        /// 随访状态
        /// </summary>
        public string FollowUpStatus { get; set; }

        /// <summary>
        /// 随访管理组
        /// </summary>
        public string FollowUpGroup { get; set; }

        /// <summary>
        /// 随访操作者
        /// </summary>
        public string FollowUpOperator { get; set; }

        /// <summary>
        /// 进入随访管理操作时间
        /// </summary>
        [Column("FOLLOW_UP_DATE_TIME", TypeName = "DATETIME")]
        public DateTime? FollowUpDateTime { get; set; }

        /// <summary>
        /// 移除院内管理标志（1：移除管理)
        /// </summary>
        public string RemoveManagement { get; set; }

        /// <summary>
        /// 移除管理操作人
        /// </summary>
        public string RemoveOperator { get; set; }

        /// <summary>
        /// 移除时间
        /// </summary>
        public DateTime RemoveDateTime { get; set; }

        /// <summary>
        /// 医院代码
        /// </summary>
        public string HospitalCode { get; set; }

        /// <summary>
        /// 管理分型代码
        /// </summary>
        public string PartingCode { get; set; }

        /// <summary>
        /// 管理分型名称
        /// </summary>
        public string PartingName { get; set; }

        /// <summary>
        /// 患者消息列表
        /// </summary>
        public List<HcdMessageDto> lstHcdMessage { get; set; }

        /// <summary>
        /// 患者标签列表
        /// </summary>
        public List<HcdPatLabelsDto> lstHcdPatLabels { get; set; }
    }
}
